home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-03-13 | 1.8 KB | 97 lines | [TEXT/CWIE] |
- #include "SortPicts.h"
-
- void SortPicts::Scramble( void)
- {
- long loop;
-
- if ( !coplandTask ) {
- UseSortData();
- }
- UseUpdateFunc( ::UpdateScramble);
-
- for( loop = 1; loop < N; loop ++)
- ExchangeSortItem( Random(loop), loop);
-
- if ( !coplandTask ) {
- UnuseSortData();
- }
- }
-
-
- void SortPicts::UseUpdateFunc( UpdateFuncPtr func)
- {
- updateFunc = func;
- }
-
- void SortPicts::Update( void)
- {
- (*updateFunc)( this);
- }
-
-
- void UpdateScramble( SortPicts *sortPicts)
- {
- sortPicts->UpdateScramble();
- }
-
-
- void UpdateSortPict( SortPicts *sortPicts)
- {
- sortPicts->UpdateScramble();
- }
-
-
- void SortPicts::UpdateScramble( void)
- {
- UpdateSortPict();
- }
-
- void SortPicts::UpdateSortPict( void)
- {
- GrafPtr savePort;
-
- if ( !coplandTask )
- {
- if( copyBitsRect.bottom > copyBitsRect.top) {
- UseSortData();
-
- GetPort( &savePort);
- SetPort( me);
-
- copyBitsRect.left = 0;
- copyBitsRect.right = (short) pictWidth;
- windPictRect.top = copyBitsRect.top +kWindPictRectVoffset;
- windPictRect.bottom = copyBitsRect.bottom +kWindPictRectVoffset;
-
- CopyBits( (const BitMap *) *sortPixmap,
- (const BitMap *) (*(((CWindowPtr)me)->portPixMap)),
- ©BitsRect, ©BitsRect,
- srcCopy, (RgnHandle)0);
-
- copyBitsRect.top = windPictRect.bottom;
- copyBitsRect.bottom = windPictRect.top;
-
- SetPort( savePort);
-
- UnuseSortData();
- }
- } else {
- //GetPort( &savePort);
- //SetPort( me);
- if( copyBitsRect.bottom > copyBitsRect.top) {
- copyBitsRect.left = 0;
- copyBitsRect.right = (short) pictWidth;
- windPictRect.top = copyBitsRect.top +kWindPictRectVoffset;
- windPictRect.bottom = copyBitsRect.bottom +kWindPictRectVoffset;
-
- this->Draw();
- copyBitsRect.top = windPictRect.bottom;
- copyBitsRect.bottom = windPictRect.top;
-
-
- }
- //SetPort( savePort);
- }
- }
-
-